/*
 * Singularity Engine
 * Copyright (C) 2010 Vyacheslav Vorobyov, All rights reserved.
 * See LICENSE for full license information.
 */

package org.singularity.mapred;

import org.singularity.io.DME;
import org.singularity.io.Output;

/**
 * This interface introduces a notion of data output as a 
 * specific destination element of a cascade. This is a terminal 
 * element that consumes resulting DMEs from a cascade, i.e. this is an 
 * output point of DMEs, or connection point with some system 
 * external system consuming DMEs.
 *  
 * @author vjache
 *
 * @param <VT> - a type of values(facts) outcoming from the 
 * cascade through this output element.
 * 
 * @see DME
 * @see Destination
 */
public interface OutputElement<VT> extends Destination {
	/**
	 * Returns an output stream factory.
	 */
	Output<VT> getOutput();
}
